package javaTest01;

import java.util.Scanner;

public class CharacterTypeCount {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        String str=input.nextLine();
        totalCharNumber(str);
    }

    /**
     * @description 统计一个字符串中字母 空格 数字 其他字符的个数并输出
     * @param str 输入的字符串
     */
    public static void totalCharNumber(String str){
        int countOfLetter=0;
        int countOfSpace=0;
        int countOfNumber=0;
        int countOfOther=0;

        for (int i=0;i<str.length();i++){
            char ch=str.charAt(i);
            if (isLetter(ch))
                countOfLetter++;
            else if (isSpace(ch))
                countOfSpace++;
            else if (isNumber(ch))
                countOfNumber++;
            else
                countOfOther++;
        }
        System.out.println(String.format("共有%d个字母，%d个空格,%d个数字,%d个其他字符",countOfLetter,countOfSpace,countOfNumber,countOfOther));
    }

    /**
     * @param ch 单个字符
     * @return 该字符是否为字母的布尔值
     */
    public static boolean isLetter(char ch){
        return (ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z');
    }

    /**
     * @param ch 单个字符
     * @return 该字符是否为空格的布尔值
     */
    public static boolean isSpace(char ch){
        return  ch==' ';
    }

    /**
     * @param ch 单个字符
     * @return 该字符是否为数字的布尔值
     */
    public static boolean isNumber(char ch){
        return ch>='0'&&ch<='9';
    }
}
